Шаг 2. Перемещаем коммиты
Создадим тестовую ветку task/rebase с помощью команды git switch --create task/rebase.
Далее внесём изменение в index.html. Добавим для элемента <body> атрибут class со значением site-body.
Добавим изменение в индекс с помощью команды git add --all. Затем зафиксируем его — git commit --message "feat: added the class attribute for the body element".
Теперь перейдём на ветку main с помощью команды git switch main.
И нам нужно внести ещё одно изменение. Для элемента <html> добавим атрибут class со значением site-page.
Добавляем это изменение в индекс — git add --all, а после фиксируем — git commit --message "feat: added the class attribute for the html element".
После этого снова перейдём на ветку task/rebase при помощи команды git switch -.
Давайте посмотрим на хэш последнего коммита. Для этого воспользуемся командой git log --oneline -1.
Запомним краткое значение хэша — 3ac6467. Позже посмотрим, изменилось ли оно.
Вводим основную команду — git rebase main.
Всё, перемещение выполнено успешно, о чём говорит вывод Git. Снова введём команду git log --oneline -2.
Хэш коммита, который был сделан на ветке task/rebase, заменён: был 3ac6467, а стал b01ad3e.
Давайте перейдём в ветку main, используя команду git switch main. Нам нужно влить ветку task/rebase в ветку main.
Далее пропишем команду для слияния — git merge task/rebase.
Готово! Слияние прошло с использованием режима fast-forward. Если бы мы попытались прописать данную команду до git rebase, то у нас бы выполнилось слияние с использованием режима no-fast-forward, и тогда создался бы дополнительный коммит.
Напоследок давайте посмотрим на этой ветке историю коммитов. Вводим команду git log --oneline -2.
Коммиты полностью идентичны тем, что находятся на ветке task/rebase. В этот раз мы не будем удалять ветку — в следующих шагах разберём дополнительные возможности этой команды.